package persistence.model;

import persistence.dao.AnneeEtudeDAO;
import persistence.db.DataSet;

public class AnneeEtude extends AbstractModel {

	private String nomAnneeEtude;
	private String descriptionAnneeEtude;
	private String debutAnneeEtude;
	private String finAnneeEtude;
	private int NbSeancesAEMatin;
	private int NbSeancesAEAprem;
	private int dureeSeance;
	private int idFormation;
	private DataSet semestresSet;
	
	/**
	 * Constructeur d'une année d'étude
	 */
	public AnneeEtude(){
		setDao(new AnneeEtudeDAO(this));
	}
	
	/**
	 * Constructeur d'une année d'étude
	 * @param id numéro d'identifiant de l'année d'étude
	 */
	public AnneeEtude(int id) {
		this();
		setId(id);
	}
	
	/**
	 * Constructeur d'une année d'étude
	 * @param id numero d'identifiant
	 * @param nom nom de l'année d'étude
	 * @param desc description de l'année d'étude
	 * @param debut date de début de l'année d'étude
	 * @param fin date de fin de l'année d'étude
	 * @param nbSeancesMatin nombre de séances le matin
	 * @param nbSeancesAprem nombre de séances l'après-midi
	 * @param duree durée d'une séance
	 * @param idF identifiant de la formation
	 * @param semestresSet 
	 */

	public AnneeEtude(int id, String nom, String desc, String debut, String fin, int nbSeancesMatin, int nbSeancesAprem, int duree, int idF, DataSet semestres) {
		this(id);
		nomAnneeEtude = nom;
		descriptionAnneeEtude = desc;
		debutAnneeEtude = debut;
		finAnneeEtude = fin;
		NbSeancesAEMatin = nbSeancesMatin;
		NbSeancesAEAprem = nbSeancesAprem;
		dureeSeance = duree;
		idFormation = idF;
		this.semestresSet = semestres;
	}
	
	public String getNomAnneeEtude() {
		return nomAnneeEtude;
	}

	public void setNomAnneeEtude(String nomAnneeEtude) {
		this.nomAnneeEtude = nomAnneeEtude;
	}

	public String getDescriptionAnneeEtude() {
		return descriptionAnneeEtude;
	}

	public void setDescriptionAnneeEtude(String descriptionAnneeEtude) {
		this.descriptionAnneeEtude = descriptionAnneeEtude;
	}

	public String getDebutAnneeEtude() {
		return debutAnneeEtude;
	}

	public void setDebutAnneeEtude(String debutAnneeEtude) {
		this.debutAnneeEtude = debutAnneeEtude;
	}

	public String getFinAnneeEtude() {
		return finAnneeEtude;
	}

	public void setFinAnneeEtude(String finAnneeEtude) {
		this.finAnneeEtude = finAnneeEtude;
	}

	public int getNbSeancesAEMatin() {
		return NbSeancesAEMatin;
	}

	public void setNbSeancesAEMatin(int nbSeancesAEMatin) {
		NbSeancesAEMatin = nbSeancesAEMatin;
	}

	public int getNbSeancesAEAprem() {
		return NbSeancesAEAprem;
	}

	public void setNbSeancesAEAprem(int nbSeancesAEAprem) {
		NbSeancesAEAprem = nbSeancesAEAprem;
	}

	public int getDureeSeance() {
		return dureeSeance;
	}

	public void setDureeSeance(int dureeSeance) {
		this.dureeSeance = dureeSeance;
	}

	public int getIdFormation() {
		return idFormation;
	}

	public void setIdFormation(int idFormation) {
		this.idFormation = idFormation;
	}
	
	public void setSemestresSet(DataSet semestresSet) {
		this.semestresSet = semestresSet;
	}

	public static DataSet all() {
		AnneeEtudeDAO anneeEtudeDAO = new AnneeEtudeDAO();
		return anneeEtudeDAO.all();
	}

	public DataSet getSemestresSet() {
		return semestresSet;
	}
}